<?php
/**
 * MyFileDownload.class.php
 * 
 * (C) 2009, tetsuya.odaka(EzoGP).
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* 
 * ファイルをダウンロードするための汎用クラス。 
 * 
 * author；	t.odaka
 * date ;	2009/5/18
 * 
 * text-encording	;UTF-8
 * 
 * dependencies;	PEAR::HTTP_Download
 * 
 * 
*/
class MyFileDownload {

	/*
	* プロパティー 
	*/
	var $Filename;
	var $DecodedFilename;
	
    /* 
	 * デフォルトのコンストラクタ 
	 */
	function __construct() {
	}

	/* 
	 * Getter 
	 */
	function getFilename(){return $this->Filename;}
	function getDecodedFilename(){return $this->DecodedFilename;}
	
	/* 
	 * Setter 
	 */
	function setFilename($_str){$this->Filename = $_str;}
	function setDecodedFilename($_str){$this->DecodedFilename = $_str;}
	
	/* 
	 * Download 
	 */
	function download(){
	
		$_file=fopen($this->Filename,"r");
		$_date;
		while($_line = fgets($_file,1024)){
			$_data.=$_line;
		}
		fclose($_file);
	
		// ダウンロードの処理開始
		require_once("HTTP/Download.php");
		$params=array(
			"data"=>$_data,
			"contenttype"=>"application/octet-stream",
			"contentdisposition"=>array(HTTP_DOWNLOAD_ATTACHMENT,
									$this->DecodedFilename)
		);
		HTTP_Download::staticSend($params);

		// ストリームの吐き出し
		$dl->send();
	}
}
?>
